Make effects
an incomplete feature
This commit is contained in:
parent
a6a83d3d4e
commit
81da6a6d40
123 changed files with 774 additions and 111 deletions
|
@ -7,6 +7,7 @@
|
|||
// not remove this test.
|
||||
//
|
||||
// FIXME(effects) add `const_trait` to `Fn` so we use `~const`
|
||||
// FIXME(effects) restore `const_trait` to `Destruct`
|
||||
#![feature(const_trait_impl)]
|
||||
#![crate_name = "foo"]
|
||||
|
||||
|
@ -24,9 +25,9 @@ pub trait Tr<T> {
|
|||
// @has - '//section[@id="method.a"]/h4[@class="code-header"]/a[@class="trait"]' 'Fn'
|
||||
// @!has - '//section[@id="method.a"]/h4[@class="code-header"]/span[@class="where"]' '~const'
|
||||
// @has - '//section[@id="method.a"]/h4[@class="code-header"]/div[@class="where"]' ': Fn'
|
||||
fn a<A: /* ~const */ Fn() + ~const Destruct>()
|
||||
fn a<A: /* ~const */ Fn() /* + ~const Destruct */>()
|
||||
where
|
||||
Option<A>: /* ~const */ Fn() + ~const Destruct,
|
||||
Option<A>: /* ~const */ Fn() /* + ~const Destruct */,
|
||||
{
|
||||
}
|
||||
}
|
||||
|
@ -36,13 +37,13 @@ pub trait Tr<T> {
|
|||
// @has - '//section[@id="impl-Tr%3CT%3E-for-T"]/h3[@class="code-header"]/a[@class="trait"]' 'Fn'
|
||||
// @!has - '//section[@id="impl-Tr%3CT%3E-for-T"]/h3[@class="code-header"]/span[@class="where"]' '~const'
|
||||
// @has - '//section[@id="impl-Tr%3CT%3E-for-T"]/h3[@class="code-header"]/div[@class="where"]' ': Fn'
|
||||
impl<T: /* ~const */ Fn() + ~const Destruct> const Tr<T> for T
|
||||
impl<T: /* ~const */ Fn() /* + ~const Destruct */> const Tr<T> for T
|
||||
where
|
||||
Option<T>: /* ~const */ Fn() + ~const Destruct,
|
||||
Option<T>: /* ~const */ Fn() /* + ~const Destruct */,
|
||||
{
|
||||
fn a<A: /* ~const */ Fn() + ~const Destruct>()
|
||||
fn a<A: /* ~const */ Fn() /* + ~const Destruct */>()
|
||||
where
|
||||
Option<A>: /* ~const */ Fn() + ~const Destruct,
|
||||
Option<A>: /* ~const */ Fn() /* + ~const Destruct */,
|
||||
{
|
||||
}
|
||||
}
|
||||
|
@ -51,9 +52,9 @@ where
|
|||
// @has - '//pre[@class="rust item-decl"]/code/a[@class="trait"]' 'Fn'
|
||||
// @!has - '//pre[@class="rust item-decl"]/code/div[@class="where"]' '~const'
|
||||
// @has - '//pre[@class="rust item-decl"]/code/div[@class="where"]' ': Fn'
|
||||
pub const fn foo<F: /* ~const */ Fn() + ~const Destruct>()
|
||||
pub const fn foo<F: /* ~const */ Fn() /* + ~const Destruct */>()
|
||||
where
|
||||
Option<F>: /* ~const */ Fn() + ~const Destruct,
|
||||
Option<F>: /* ~const */ Fn() /* + ~const Destruct */,
|
||||
{
|
||||
F::a()
|
||||
}
|
||||
|
@ -63,9 +64,9 @@ impl<T> S<T> {
|
|||
// @has - '//section[@id="method.foo"]/h4[@class="code-header"]/a[@class="trait"]' 'Fn'
|
||||
// @!has - '//section[@id="method.foo"]/h4[@class="code-header"]/span[@class="where"]' '~const'
|
||||
// @has - '//section[@id="method.foo"]/h4[@class="code-header"]/div[@class="where"]' ': Fn'
|
||||
pub const fn foo<B, C: /* ~const */ Fn() + ~const Destruct>()
|
||||
pub const fn foo<B, C: /* ~const */ Fn() /* + ~const Destruct */>()
|
||||
where
|
||||
B: /* ~const */ Fn() + ~const Destruct,
|
||||
B: /* ~const */ Fn() /* + ~const Destruct */,
|
||||
{
|
||||
B::a()
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue