Mazdak Farrokhzad
24a178e397
--bless tests due to INCOMPLETE_FEATURES being a lint.
2019-07-30 10:43:32 +02:00
Mazdak Farrokhzad
bfdfa85e73
Add tests for Vec(Deque) array PartialEq impls.
2019-07-28 06:46:41 +02:00
bors
a3369981de
Auto merge of #61749 - davidtwco:rfc-2203-const-array-repeat-exprs, r=eddyb
...
rustc/rustc_mir: Implement RFC 2203.
This PR implements RFC 2203, allowing constants in array repeat
expressions. Part of #49147 .
r? @eddyb
2019-07-18 20:41:40 +00:00
Samy Kacimi
41e71b0c93
normalize use of backticks in compiler messages for libsyntax/feature_gate
...
https://github.com/rust-lang/rust/issues/60532
2019-07-09 14:13:28 +02:00
David Wood
485a80255b
rustc/rustc_mir: Implement RFC 2203.
...
This commit implements RFC 2203, allowing constants in array repeat
expressions.
Firstly, the check that the array repeat expression implements `Copy` is
removed and re-implemented in `rustc_mir::borrow_check::nll::type_check`
by emitting an error when the MIR contains a `Operand::Move` and the
type does not implement `Copy`.
Next, the `qualify_consts` pass is modified to construct a
`Candidate::Repeat` when it would be correct to promote a array repeat
expression.
Finally, the `promote_consts` pass is modified to promote the candidates
previously identified.
2019-07-07 19:51:09 +01:00
Scott McMurray
d6a9793722
Use const generics for array impls, restricted to 0..=32
...
- uses a never-stable core::array::LengthAtMost32 to bound the impls
- includes a custom error message to avoid mentioning LengthAtMost32 too often
- doesn't use macros for the slice implementations to avoid #62433
2019-07-07 11:31:38 -07:00
Mark Rousskov
007d87f171
Permit use of mem::uninitialized via allow(deprecated)
2019-07-04 21:01:35 -04:00
Yuki Okushi
c004451a20
Migrate compile-pass annotations to build-pass
2019-07-03 06:30:28 +09:00
David Wood
bc36aabf5f
typeck: Fix ICE for blocks in repeat expr count.
...
This commit extends the work in #61698 to get the `DefId` of const
parameters from block that resolve to a const parameter (as well as
const parameters directly, as it was previously).
2019-06-13 23:34:38 +01:00
Mazdak Farrokhzad
bd57c187fb
Rollup merge of #61698 - davidtwco:ice-const-generic-length, r=varkor
...
typeck: Fix const generic in repeat param ICE.
Fixes #61336 . Turns out this wasn't related to #49147 after all.
r? @varkor
2019-06-11 17:14:04 +02:00
David Wood
9ed4674269
typeck: Fix const generic in repeat param ICE.
...
This commit fixes an ICE that occured when a const generic was used in
a repeat expression. This was due to the code expecting the length of
the repeat expression to be const evaluatable to a constant, but a const
generic parameter is not (however, it can be made into a constant).
2019-06-10 16:58:47 +01:00
varkor
7bb0a16ad7
Add test for deriving Debug for const generics
2019-06-07 10:18:19 +01:00
varkor
647b4a4deb
Add test for const generics struct constructor
2019-06-07 10:18:19 +01:00
Mazdak Farrokhzad
1563514196
Rollup merge of #61409 - varkor:condition-trait-param-ice, r=oli-obk
...
Fix an ICE with a const argument in a trait
This goes some way towards fixing https://github.com/rust-lang/rust/issues/61383 (the reduced test case is fixed).
2019-06-04 04:48:08 +02:00
varkor
2b27c6235b
Allow true and false in const generic arguments
2019-06-03 09:59:45 +01:00
Mazdak Farrokhzad
c748c7b3fe
Rollup merge of #61380 - varkor:expected-usize-got-param, r=eddyb
...
Fix some issues with `unwrap_usize` instead of `assert_usize`
Fixes https://github.com/rust-lang/rust/issues/61337 .
Fixes https://github.com/rust-lang/rust/issues/61341 .
Fixes https://github.com/rust-lang/rust/issues/61422 .
r? @eddyb
2019-06-02 15:23:46 +02:00
varkor
e82cd9528c
Add regression test for #61422
2019-06-02 01:55:46 +01:00
varkor
c2b663c666
Fix unwrapping usize issue with transparent MaybeUnit array wrapper
2019-06-02 01:50:06 +01:00
varkor
5e3ff4c2f1
Add test for condition in trait const param
2019-05-31 20:49:19 +01:00
Pietro Albini
2106d57c35
Rollup merge of #61344 - varkor:const-failed-to-life-ice, r=Centril
...
Add regression test for const generics ICE
Closes https://github.com/rust-lang/rust/issues/60879 .
2019-05-31 13:33:58 +02:00
varkor
7e92607f5a
Fix unwrapping usize issue in HasMutInterior
2019-05-31 01:19:59 +01:00
varkor
0fdd4191ad
Add regression test for const generics ICE
...
Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
2019-05-30 19:55:43 +01:00
Mazdak Farrokhzad
528972a28a
Rollup merge of #61333 - varkor:apit-const-param-ice, r=estebank
...
Fix ICE with APIT in a function with a const parameter
Fixes https://github.com/rust-lang/rust/issues/60953 .
2019-05-30 10:53:07 +02:00
varkor
998ef688a3
Add a regression test for const parameters with impl Trait
2019-05-30 00:21:04 +01:00
David Wood
41aaf7bc46
Fix ICE with struct ctors and const generics.
...
This commit fixes a ICE where struct constructors were resulting in an
ICE with const generics. Previously, a `match` in `type_of` did not have
an arm for the `DefKind::Ctor` resolutions and therefore would assume
that the type did not have generics.
2019-05-29 08:30:07 +01:00
varkor
6233d1fee5
Use assert_eq! instead of println! in tests
2019-05-28 21:35:20 +01:00
varkor
f13317ca2e
Use Display rather than Debug printing for const mismatch
2019-05-28 21:35:20 +01:00
varkor
f865b7dda4
Update tests after pretty printing
2019-05-28 21:35:20 +01:00
varkor
cfa1f80cd9
Fix test after rebase
2019-05-28 21:35:20 +01:00
varkor
57ff5899d2
Add broken MIR regression tests
2019-05-28 21:35:20 +01:00
varkor
55dcc20f9a
Add tests for uninferred consts during codegen
2019-05-28 21:34:42 +01:00
varkor
5a585fe45e
Add a test for a function taking a const param array as an argument
2019-05-28 21:34:42 +01:00
Oliver Scherer
fa459a08e1
Fix rebase fallout
2019-05-25 10:07:02 +02:00
Mazdak Farrokhzad
25b5d30163
Rollup merge of #60710 - varkor:delay_span_bug-const-parent, r=matthewjasper
...
Use `delay_span_bug` for error cases when checking `AnonConst` parent
Fixes #60704 .
Fixes #60650 .
2019-05-13 21:36:54 +02:00
varkor
b3207d531d
Add test for const impl
2019-05-11 00:08:40 +01:00
varkor
0f792abf00
Add a test for failed inference of const types
2019-05-10 20:53:46 +01:00
varkor
5310801062
Add a test for invalid const arguments
2019-05-10 20:53:35 +01:00
Mazdak Farrokhzad
59ff11393d
Rollup merge of #60550 - skinny121:concrete_const_tests, r=varkor
...
Add tests for concrete const types
In response to the request for help in https://github.com/rust-lang/rust/issues/44580#issuecomment-488819344 , I have added several ui tests around the use of concrete const types, i.e. A<2>.
r? @varkor
2019-05-09 00:58:25 +02:00
ben
bfa15f3988
Add tests for concrete const types
2019-05-08 20:35:41 +12:00
bors
cfdc84a009
Auto merge of #60612 - Centril:rollup-61drhqt, r=Centril
...
Rollup of 5 pull requests
Successful merges:
- #60489 (Remove hamburger button from source code page)
- #60535 (Correct handling of arguments in async fn)
- #60579 (Rename `ParamTy::idx` to `ParamTy::index`)
- #60583 (Fix parsing issue with negative literals as const generic arguments)
- #60609 (Be a bit more explicit asserting over the vec rather than the len)
Failed merges:
r? @ghost
2019-05-07 19:39:52 +00:00
bors
17dba3b6e4
Auto merge of #60277 - estebank:relate-ice, r=varkor
...
Don't ICE when relating const type args
Fix #60263 .
r? @varkor
2019-05-07 16:45:14 +00:00
varkor
594685b5a2
token::LArrow can begin arguments
...
`<-` may indicate the start of a negative const argument.
2019-05-06 17:00:01 +01:00
varkor
3e6787cb4c
Early error for mixing order of const and type parameters
2019-05-04 22:28:08 +01:00
varkor
47f373128a
Add tests
2019-05-04 14:39:43 +01:00
Esteban Küber
750808680a
Don't ICE when relating const type args
2019-05-02 16:19:35 -07:00
varkor
1369132afa
Add a test for const args that cannot be inferred
...
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-05-01 23:11:20 +01:00
varkor
a188850ded
Add a test for incorrect numbers of const args
2019-05-01 23:11:19 +01:00
varkor
c7deb5bdc2
Add a test for const arguments
2019-05-01 23:11:19 +01:00
varkor
67176f751b
Add const-types test
2019-05-01 23:11:19 +01:00
varkor
6d7c7940b5
Add comment explaining restriction
2019-04-25 23:29:58 +01:00