Eduard-Mihai Burtescu
4c7eb59e81
rustc_macros: don't limit the -Zmacro-backtrace suggestion to extern macros.
2020-02-06 21:46:38 +02:00
Esteban Küber
342db717e2
Account for ?Sized type parameter bounds
2020-02-02 11:53:10 -08:00
varkor
24a2929ed1
Normalise notes with the/is
2020-01-24 16:24:50 +00:00
Yuki Okushi
a491100aa3
Rollup merge of #68014 - estebank:unify-e0599, r=cramertj
...
Unify output of "variant not found" errors
Fix #49566 .
2020-01-11 04:50:48 +09:00
Vadim Petrochenkov
642669c74d
Update tests
2020-01-09 21:23:12 +03:00
Esteban Küber
2c5766f2d4
Unify output of "variant not found" errors
2020-01-08 08:05:31 -08:00
cosine
bd63c594c2
Use "field is never read" instead of "field is never used"
2019-11-16 07:12:37 -05:00
Mazdak Farrokhzad
aba84894d1
Rollup merge of #62330 - SimonSapin:no-drop-in-union-fields, r=RalfJung
...
Change untagged_unions to not allow union fields with drop
This is a rebase of #56440 , massaged to solve merge conflicts and make the test suite pass.
Change untagged_unions to not allow union fields with drop
Union fields may now never have a type with attached destructor. This for example allows unions to use arbitrary field types only by wrapping them in `ManuallyDrop` (or similar).
The stable rule remains, that union fields must be `Copy`. We use the new rule for the `untagged_union` feature.
Tracking issue: https://github.com/rust-lang/rust/issues/55149
2019-10-21 22:00:45 +02:00
Esteban Küber
5b7ffd9333
Handle more cases
2019-10-15 13:55:43 -07:00
Oliver Scherer
f5669ebb45
Update ui stderr
2019-10-11 10:43:55 +02:00
Oliver Scherer
7e1a65dce1
Ensure we do not treat all unions as not having any drop glue.
2019-10-11 10:43:55 +02:00
Oliver Scherer
9c1ad0ff2f
Preserve originally intended test semantics
2019-10-11 10:43:54 +02:00
Oliver Scherer
50ec10e605
rpass tests are now part of ui tests
2019-10-11 10:43:54 +02:00
Simon Sapin
616cf52358
Extend union-nodrop.rs test
2019-10-11 10:43:54 +02:00
Simon Sapin
bf25a9c82f
Update src/test/run-pass/union/union-nodrop.rs
...
Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
2019-10-11 10:43:54 +02:00
Simon Sapin
e247a40a1c
Fixes #41073 , it is no longer an ICE
2019-10-11 10:43:54 +02:00
Ulrik Sverdrup
2f0c821be9
Change untagged_unions to not allow union fields with drop
...
Union fields may now never have a type with attached destructor.
This for example allows unions to use arbitrary field types only by
wrapping
them in ManuallyDrop.
The stable rule remains, that union fields must be Copy. We use the new
rule for the `untagged_union` feature.
See RFC 2514.
Note for ui tests:
We can't test move out through Box's deref-move since we can't
have a Box in a union anymore.
2019-10-11 10:43:54 +02:00
Simon Sapin
84ca0a1cb4
Remove most uses of allow(unions_with_drop_fields) in tests
2019-10-11 10:43:54 +02:00
bors
eb48d6bdee
Auto merge of #64359 - varkor:opaque-ty-in-extern, r=estebank
...
Forbid opaque types in `extern "C"` blocks
Fixes #64338 .
2019-09-12 12:40:31 +00:00
varkor
9d712177a3
Refactor "not FFI-safe" diagnostic
2019-09-10 22:29:31 +01:00
Esteban Küber
5799fb419c
Give method not found a primary span label
2019-09-08 18:27:02 -07:00
Esteban Küber
444bc3ca66
Use span label instead of note for cause in E0631
2019-08-31 00:14:23 -07:00
Kevin Per
df713dd397
Group all ui tests and move to abi #62593
2019-08-15 16:00:54 +02:00
Vadim Petrochenkov
5486cc69bd
tests: Move run-pass tests with naming conflicts to ui
2019-07-27 18:56:17 +03:00
Vadim Petrochenkov
9be35f82c1
tests: Move run-pass tests without naming conflicts to ui
2019-07-27 18:56:16 +03:00
Yuki Okushi
c004451a20
Migrate compile-pass annotations to build-pass
2019-07-03 06:30:28 +09:00
Michael Bradshaw
dac1c6a731
Implement RFC 2645 (transparent enums and unions)
...
Tracking issue: #60405
2019-06-10 22:07:24 -07:00
Matthew Jasper
8eef102270
update tests for migrate mode by default
2019-04-22 08:40:08 +01:00
Andy Russell
b6f148c8bd
hide --explain hint if error has no extended info
2019-04-18 13:29:28 -04:00
Vadim Petrochenkov
c1cfacfb13
Update NLL tests
2019-03-11 23:18:35 +03:00
Vadim Petrochenkov
fa72a81bea
Update tests
2019-03-11 23:10:26 +03:00
Esteban Küber
baa0828ee3
Fix --compare-mode=nll tests
2019-01-24 10:53:43 -08:00
Mazdak Farrokhzad
ca1e379090
Rollup merge of #57102 - davidtwco:issue-57100, r=nikomatsakis
...
NLL: Add union justifications to conflicting borrows.
Fixes #57100 .
This PR adds justifications to error messages for conflicting borrows of union fields.
Where previously an error message would say ``cannot borrow `u.b` as mutable..``, it now says ``cannot borrow `u` (via `u.b`) as mutable..``.
r? @pnkfelix
2019-01-13 17:21:40 +01:00
bors
e628196d41
Auto merge of #57291 - euclio:method-call-suggestion, r=estebank
...
use structured suggestion for method calls
Furthermore, don't suggest calling the method if it is part of a place
expression, as this is invalid syntax.
I'm thinking it might be worth putting a label on the method assignment span like "this is a method" and removing the span from the "methods are immutable" text so it isn't reported twice.
The suggestions in `src/test/ui/did_you_mean/issue-40396.stderr` are suboptimal. I could check if the containing expression is `BinOp`, but I'm not sure if that's general enough. Any ideas?
r? @estebank
2019-01-06 10:30:05 +00:00
David Wood
c2b477c19a
Improve diagnostic labels and add note.
...
This commit improves diagnostic labels to mention which field a borrow
overlaps with and adds a note explaining that the fields overlap.
2019-01-04 22:43:51 +01:00
Andy Russell
e3fe0ee97b
use structured suggestion for method calls
...
Furthermore, don't suggest calling the method if it is part of a place
expression, as this is invalid syntax.
2019-01-03 13:42:52 -05:00
Corey Farwell
d2c91a1a6d
Fix broken links to second edition TRPL.
...
Fixes https://github.com/rust-lang/rust/issues/57104 .
2019-01-01 12:53:07 -05:00
Andy Russell
dfc326d0e2
use structured suggestions for nonexistent fields
2018-12-31 12:52:30 -05:00
David Wood
69bded2493
Add union justifications to conflicting borrows.
...
This commit adds justifications to error messages for conflicting
borrows of union fields.
Where previously an error message would say
``cannot borrow `u.b` as mutable..``, it now says
``cannot borrow `u` (via `u.b`) as mutable..``.
2018-12-26 21:28:33 +01:00
Mark Rousskov
2a663555dd
Remove licenses
2018-12-25 21:08:33 -07:00
David Wood
ba09ed5208
Update test to force error under NLL.
...
In each of the three cases in this test, there is a mutable borrow
of some field of the union and then a shared borrow of some other field
immediately following.
Under NLL, the mutable borrow is killed straight away as it isn't
used later - therefore not causing a conflict with the shared borrow.
This commit adds a use of the first mutable borrow to force the intended
errors to appear under NLL.
2018-11-04 18:36:30 +01:00
Felix S. Klock II
5b748434af
updates to expected output for other ui tests.
2018-10-16 17:11:36 +02:00
David Wood
3fc7ab2373
Merged migrated compile-fail tests and ui tests. Fixes #46841 .
2018-08-14 11:12:09 +02:00
kennytm
746abc3265
Rollup merge of #53082 - felixrabe:fix-doc-link-again, r=GuillaumeGomez
...
Fix doc link (again)
Similar to #52404 . The link for comparison:
- https://doc.rust-lang.org/book/second-edition/ch19-04-advanced-types.html#dynamically-sized-types-and-sized (broken)
- https://doc.rust-lang.org/book/second-edition/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait (correct, stable 2nd ed)
- https://doc.rust-lang.org/nightly/book/second-edition/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait (correct, nightly 2nd ed)
- https://doc.rust-lang.org/nightly/book/2018-edition/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait (correct, nightly 2018 ed)
This commit is the result of (first) searching via ripgrep (0.8.1 -SIMD -AVX):
rg -l dynamically-sized-types-and-sized
and then replacing all relevant occurrences via:
find src/{libcore,test/ui} -type f -print0 | xargs -0 sed -i.bak \
s/dynamically-sized-types-and-sized/dynamically-sized-types-and-the-sized-trait/g
find src/{libcore,test/ui} -type f -name '*.bak' -print0 | xargs -0 rm
(Note: Tested on on macOS 10.13 (BSD). `sed -i.bak` should work on Linux
(GNU sed) as well, but not tested.)
2018-08-10 01:01:28 +08:00
Oliver Schneider
3ef863bfdf
Place unions, pointer casts and pointer derefs behind extra feature gates
2018-08-07 14:41:33 +02:00
Felix Rabe
c74415872c
Fix doc link (again)
...
Similar to #52404 . The link for comparison:
- https://doc.rust-lang.org/book/second-edition/ch19-04-advanced-types.html#dynamically-sized-types-and-sized (broken)
- https://doc.rust-lang.org/book/second-edition/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait (correct, stable 2nd ed)
- https://doc.rust-lang.org/nightly/book/second-edition/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait (correct, nightly 2nd ed)
- https://doc.rust-lang.org/nightly/book/2018-edition/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait (correct, nightly 2018 ed)
This commit is the result of (first) searching via ripgrep (0.8.1 -SIMD -AVX):
rg -l dynamically-sized-types-and-sized
and then replacing all relevant occurrences via:
find src/{libcore,test/ui} -type f -print0 | xargs -0 sed -i.bak \
s/dynamically-sized-types-and-sized/dynamically-sized-types-and-the-sized-trait/g
find src/{libcore,test/ui} -type f -name '*.bak' -print0 | xargs -0 rm
(Note: Tested on on macOS 10.13 (BSD). `sed -i.bak` should work on Linux
(GNU sed) as well, but not tested.)
2018-08-05 07:52:29 +02:00
Felix Rabe
88e9af0375
Fix doc link
...
The link for comparison:
- https://doc.rust-lang.org/book/second-edition/ch19-04-advanced-types.html#dynamically-sized-types--sized (broken)
- https://doc.rust-lang.org/book/second-edition/ch19-04-advanced-types.html#dynamically-sized-types-and-sized (fixed)
This commit is the result of (first) searching via:
find src -type f -print0 | xargs -0 fgrep -l dynamically-sized-types--sized
and then replacing all relevant occurrences via:
find src/{libcore,test/ui} -type f -print0 | xargs -0 sed -i.bak \
s/dynamically-sized-types--sized/dynamically-sized-types-and-sized/g
find src/{libcore,test/ui} -type f -name '*.bak' -print0 | xargs -0 rm
(Note: Commands run on macOS 10.13 (BSD). `sed -i.bak` should work on
GNU/Linux as well, but not tested.)
2018-07-17 14:10:11 +02:00
Rémy Rakic
b8c96ce530
Fix typo in error message E0277
2018-07-10 23:10:13 +02:00
Esteban Küber
d4bfae1319
Update message for !Sized types
2018-06-19 17:32:33 -07:00
Esteban Küber
f1dee43887
Add link to book for Sized errors
2018-06-19 15:19:15 -07:00