1 // Test that we do not currently display `~const` in rustdoc
2 // as that syntax is currently provisional; `~const Destruct` has
3 // no effect on stable code so it should be hidden as well.
5 // To future blessers: make sure that `const_trait_impl` is
6 // stabilized when changing `@!has` to `@has`, and please do
7 // not remove this test.
8 #![feature(const_trait_impl)]
11 use std::marker::Destruct;
15 // @!has foo/trait.Tr.html '//pre[@class="rust trait"]/code/a[@class="trait"]' '~const'
16 // @has - '//pre[@class="rust trait"]/code/a[@class="trait"]' 'Clone'
17 // @!has - '//pre[@class="rust trait"]/code/span[@class="where"]' '~const'
18 // @has - '//pre[@class="rust trait"]/code/span[@class="where"]' ': Clone'
21 // @!has - '//section[@id="method.a"]/h4[@class="code-header"]' '~const'
22 // @has - '//section[@id="method.a"]/h4[@class="code-header"]/a[@class="trait"]' 'Clone'
23 // @!has - '//section[@id="method.a"]/h4[@class="code-header"]/span[@class="where"]' '~const'
24 // @has - '//section[@id="method.a"]/h4[@class="code-header"]/span[@class="where fmt-newline"]' ': Clone'
25 fn a<A: ~const Clone + ~const Destruct>()
27 Option<A>: ~const Clone + ~const Destruct,
32 // @has - '//section[@id="impl-Tr%3CT%3E-for-T"]' ''
33 // @!has - '//section[@id="impl-Tr%3CT%3E-for-T"]/h3[@class="code-header"]' '~const'
34 // @has - '//section[@id="impl-Tr%3CT%3E-for-T"]/h3[@class="code-header"]/a[@class="trait"]' 'Clone'
35 // @!has - '//section[@id="impl-Tr%3CT%3E-for-T"]/h3[@class="code-header"]/span[@class="where"]' '~const'
36 // @has - '//section[@id="impl-Tr%3CT%3E-for-T"]/h3[@class="code-header"]/span[@class="where fmt-newline"]' ': Clone'
37 impl<T: ~const Clone + ~const Destruct> const Tr<T> for T
39 Option<T>: ~const Clone + ~const Destruct,
41 fn a<A: ~const Clone + ~const Destruct>()
43 Option<A>: ~const Clone + ~const Destruct,
48 // @!has foo/fn.foo.html '//pre[@class="rust fn"]/code/a[@class="trait"]' '~const'
49 // @has - '//pre[@class="rust fn"]/code/a[@class="trait"]' 'Clone'
50 // @!has - '//pre[@class="rust fn"]/code/span[@class="where fmt-newline"]' '~const'
51 // @has - '//pre[@class="rust fn"]/code/span[@class="where fmt-newline"]' ': Clone'
52 pub const fn foo<F: ~const Clone + ~const Destruct>()
54 Option<F>: ~const Clone + ~const Destruct,
60 // @!has foo/struct.S.html '//section[@id="method.foo"]/h4[@class="code-header"]' '~const'
61 // @has - '//section[@id="method.foo"]/h4[@class="code-header"]/a[@class="trait"]' 'Clone'
62 // @!has - '//section[@id="method.foo"]/h4[@class="code-header"]/span[@class="where"]' '~const'
63 // @has - '//section[@id="method.foo"]/h4[@class="code-header"]/span[@class="where fmt-newline"]' ': Clone'
64 pub const fn foo<B: ~const Clone + ~const Destruct>()
66 B: ~const Clone + ~const Destruct,