Alex Burka
706a1cc0f2
fix test fallout
2018-11-03 05:03:30 +00:00
Jonas Schievink
7e5a13163e
Convert issue-49376.rs to compile-pass
2018-10-04 14:53:16 +02:00
Jonas Schievink
12cabc824b
Convert existential-minimal.rs to compile-pass
2018-10-04 14:51:26 +02:00
Jonas Schievink
62e9a09cfb
Convert impl-trait/issue-42479.rs to compile-pass
2018-10-04 14:47:46 +02:00
Jonas Schievink
3c46da8c82
Fix dead code lint for functions using impl Trait
2018-10-04 14:14:14 +02:00
Felix S. Klock II
c9d9cc6e44
Add #![allow(..)] as necessary to get re-migrated run-pass tests compiling with clean stderr again.
...
Most were added mechanically.
2018-09-26 13:10:54 +02:00
Felix S. Klock II
2080474c75
Migrate src/test/ui/run-pass/* back to src/test/run-pass/.
...
Fix #54047
2018-09-26 13:10:54 +02:00
Felix S. Klock II
76ceeddb2b
Migrated remaining src/test/run-pass/ subdirectories to src/test/ui/run-pass/.
2018-09-06 14:36:26 +02:00
Oliver Schneider
61414fd6c1
Use the correct visibility
2018-07-13 20:45:23 +02:00
Oliver Schneider
adec1f94ce
Tidy
2018-06-13 19:10:41 +02:00
Oliver Schneider
d4ea2c43f5
Various cleanups
2018-06-13 09:11:23 +02:00
Oliver Schneider
6e5e35458c
Add a sanity test for nesting other items inside the existential type
2018-06-08 01:10:18 +02:00
Oliver Schneider
9b1bd94e37
Add existential type definitons
2018-06-07 17:33:53 +02:00
leonardo.yvens
56bc4c2490
Fix self referential impl Trait substitutions
...
A high impact bug because a lot of common traits use a `Self`
substitution by default. Should be backported to beta.
There was a check for this which wasn't catching all cases, it was made
more robust.
Fixes #49376
Fixes #50626
r? @petrochenkov
2018-05-12 16:43:42 -03:00
Niko Matsakis
45d281d7fa
remove -Znll -- borrowck=mir implies nll now
2018-04-15 07:13:42 -04:00
Taylor Cramer
e6e6bd27d5
Stabilize underscore lifetimes
2018-03-29 00:27:50 +02:00
Taylor Cramer
0f5b52e4a8
Stabilize conservative_impl_trait
2018-03-26 10:43:03 +02:00
Taylor Cramer
c393db67ba
Stabilize universal_impl_trait
2018-03-26 07:39:38 +02:00
Ralf Jung
49abd87483
make bounds on higher-kinded lifetimes a hard error in ast_validation
...
Also move the check for not having type parameters into ast_validation.
I was not sure what to do with compile-fail/issue-23046.rs: The issue looks like
maybe the bounds actually played a role in triggering the ICE, but that seems
unlikely given that the compiler seems to entirely ignore them. However, I
couldn't find a testcase without the bounds, so I figured the best I could do is
to just remove the bounds and make sure at least that keeps working.
2018-03-06 11:29:48 +01:00
Manish Goregaokar
a79e5e210e
Rollup merge of #48084 - cramertj:impl-trait-errors, r=nikomatsakis
...
Error on nested impl Trait and path projections from impl Trait
cc #34511
r? @nikomatsakis
2018-02-24 12:47:58 -08:00
Taylor Cramer
75f72c0de1
Make nested impl Trait a hard error
2018-02-13 17:34:26 -08:00
Taylor Cramer
dd481d5f46
fix nested impl trait lifetimes
2018-02-08 08:13:57 -08:00
Taylor Cramer
ce4673df39
Use copy/clone closures to simplify calendar test
2018-01-09 16:43:24 -08:00
Seiichi Uchida
f6f9cbe560
Add tests to fixed ICEs
...
Closes #27078 . Closes #27985 . Closes #39848 . Closes #42164 .
Closes #42479 . Closes #45152 . Closes #45662 . Closes #45876 .
Closes #45965 .
2017-12-26 19:24:48 +09:00
Taylor Cramer
c026d19baf
Add a feature gate for nested uses of impl Trait
2017-12-21 09:28:29 -08:00
bors
ab7abfcf34
Auto merge of #46754 - cramertj:refactor-arg-impl, r=nikomatsakis
...
Refactor argument-position impl Trait
Fixes https://github.com/rust-lang/rust/issues/46685 , https://github.com/rust-lang/rust/issues/46470
r? @nikomatsakis
cc @chrisvittal
2017-12-21 08:04:57 +00:00
Niko Matsakis
93afb1affc
connect NLL type checker to the impl trait code
...
We now add the suitable `impl Trait` constraints.
2017-12-20 14:04:52 -05:00
Taylor Cramer
e502194e7e
Refactor argument-position impl Trait
2017-12-15 13:29:05 -08:00
Taylor Cramer
018c4038c7
Implement impl Trait lifetime elision
2017-12-12 10:56:09 -08:00
Taylor Cramer
bc4810d907
Fix impl Trait Lifetime Handling
...
After this change, impl Trait existentials are
desugared to a new `abstract type` definition
paired with a set of lifetimes to apply.
In-scope generics are included as parents of the
`abstract type` generics. Parent regions are
replaced with static, and parent regions
referenced in the `impl Trait` type are duplicated
at the end of the `abstract type`'s generics.
2017-11-17 10:01:54 -08:00
Christopher Vittal
b276429734
Disallow all impl Trait within Fn trait sugar
...
We already disallowed them to be in the arg list, such as
Fn(impl Debug), but now we disallow Fn() -> impl Debug.
Also remove the ImplTraitContext argument from the function
lower_parenthesized_parameter_data as it is now unused.
Comment out part of test run-pass/impl-trait/xcrate.rs that now fails.
2017-11-15 15:46:01 -05:00
Niko Matsakis
2786ea662d
some tests featuring multiple bounds, other errors
2017-11-15 15:46:01 -05:00
Niko Matsakis
9d71bf6d55
add some more positive tests
...
It'd be good to have a positive test for each case where it is
allowed, I should think.
2017-11-15 15:46:01 -05:00
Niko Matsakis
6f9fb91033
rename equality-universal to a more extensible naming scheme
2017-11-15 15:46:01 -05:00
Christopher Vittal
06dff80061
Add/Modify tests for argument position impl Trait
2017-11-15 15:46:01 -05:00
Michael Woerister
f2df18579b
Mark closures return via impl-trait as reachable.
2017-08-14 12:04:52 +02:00
Simon Sapin
de4afc6797
Implement O(1)-time Iterator::nth for Range*
2017-07-08 08:55:55 +02:00
Eduard-Mihai Burtescu
ba11640179
rustc_typeck: hook up collect and item/body check to on-demand.
2017-02-25 18:35:25 +02:00
Eduard-Mihai Burtescu
36d33d6b71
rustc_privacy: visit Ty instead of HIR types in EmbargoVisitor.
2016-11-28 05:09:28 +02:00
Nick Cameron
9bc6d26092
Stabilise ?
...
cc [`?` tracking issue](https://github.com/rust-lang/rust/issues/31436 )
2016-10-12 08:40:22 +13:00
Eduard Burtescu
23f0494114
test: add more extensive tests for impl Trait.
2016-08-12 06:46:31 +03:00
Eduard Burtescu
08bf9f69b9
typeck: leak auto trait obligations through impl Trait.
2016-08-12 06:46:31 +03:00
Eduard Burtescu
d92e594c38
typeck: record impl Trait concrete resolutions.
2016-08-12 06:43:34 +03:00