Make `effects` an incomplete feature · rust-lang/rust@81da6a6

@@ -7,6 +7,7 @@

77

// not remove this test.

88

//

99

// FIXME(effects) add `const_trait` to `Fn` so we use `~const`

10+

// FIXME(effects) restore `const_trait` to `Destruct`

1011

#![feature(const_trait_impl)]

1112

#![crate_name = "foo"]

1213

@@ -24,9 +25,9 @@ pub trait Tr<T> {

2425

// @has - '//section[@id="method.a"]/h4[@class="code-header"]/a[@class="trait"]' 'Fn'

2526

// @!has - '//section[@id="method.a"]/h4[@class="code-header"]/span[@class="where"]' '~const'

2627

// @has - '//section[@id="method.a"]/h4[@class="code-header"]/div[@class="where"]' ': Fn'

27-

fn a<A: /* ~const */ Fn() + ~const Destruct>()

28+

fn a<A: /* ~const */ Fn() /* + ~const Destruct */>()

2829

where

29-

Option<A>: /* ~const */ Fn() + ~const Destruct,

30+

Option<A>: /* ~const */ Fn() /* + ~const Destruct */,

3031

{

3132

}

3233

}

@@ -36,13 +37,13 @@ pub trait Tr<T> {

3637

// @has - '//section[@id="impl-Tr%3CT%3E-for-T"]/h3[@class="code-header"]/a[@class="trait"]' 'Fn'

3738

// @!has - '//section[@id="impl-Tr%3CT%3E-for-T"]/h3[@class="code-header"]/span[@class="where"]' '~const'

3839

// @has - '//section[@id="impl-Tr%3CT%3E-for-T"]/h3[@class="code-header"]/div[@class="where"]' ': Fn'

39-

impl<T: /* ~const */ Fn() + ~const Destruct> const Tr<T> for T

40+

impl<T: /* ~const */ Fn() /* + ~const Destruct */> const Tr<T> for T

4041

where

41-

Option<T>: /* ~const */ Fn() + ~const Destruct,

42+

Option<T>: /* ~const */ Fn() /* + ~const Destruct */,

4243

{

43-

fn a<A: /* ~const */ Fn() + ~const Destruct>()

44+

fn a<A: /* ~const */ Fn() /* + ~const Destruct */>()

4445

where

45-

Option<A>: /* ~const */ Fn() + ~const Destruct,

46+

Option<A>: /* ~const */ Fn() /* + ~const Destruct */,

4647

{

4748

}

4849

}

@@ -51,9 +52,9 @@ where

5152

// @has - '//pre[@class="rust item-decl"]/code/a[@class="trait"]' 'Fn'

5253

// @!has - '//pre[@class="rust item-decl"]/code/div[@class="where"]' '~const'

5354

// @has - '//pre[@class="rust item-decl"]/code/div[@class="where"]' ': Fn'

54-

pub const fn foo<F: /* ~const */ Fn() + ~const Destruct>()

55+

pub const fn foo<F: /* ~const */ Fn() /* + ~const Destruct */>()

5556

where

56-

Option<F>: /* ~const */ Fn() + ~const Destruct,

57+

Option<F>: /* ~const */ Fn() /* + ~const Destruct */,

5758

{

5859

F::a()

5960

}

@@ -63,9 +64,9 @@ impl<T> S<T> {

6364

// @has - '//section[@id="method.foo"]/h4[@class="code-header"]/a[@class="trait"]' 'Fn'

6465

// @!has - '//section[@id="method.foo"]/h4[@class="code-header"]/span[@class="where"]' '~const'

6566

// @has - '//section[@id="method.foo"]/h4[@class="code-header"]/div[@class="where"]' ': Fn'

66-

pub const fn foo<B, C: /* ~const */ Fn() + ~const Destruct>()

67+

pub const fn foo<B, C: /* ~const */ Fn() /* + ~const Destruct */>()

6768

where

68-

B: /* ~const */ Fn() + ~const Destruct,

69+

B: /* ~const */ Fn() /* + ~const Destruct */,

6970

{

7071

B::a()

7172

}