/src/test/rustdoc/assoc-item-cast.rs

https://gitlab.com/jianglu/rust · Rust · 26 lines · 9 code · 5 blank · 12 comment · 0 complexity · b9cba5da5f8791b9e96bc7b5a9a7345e MD5 · raw file

  1. // Copyright 2017 The Rust Project Developers. See the COPYRIGHT
  2. // file at the top-level directory of this distribution and at
  3. // http://rust-lang.org/COPYRIGHT.
  4. //
  5. // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
  6. // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
  7. // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
  8. // option. This file may not be copied, modified, or distributed
  9. // except according to those terms.
  10. #![crate_name = "foo"]
  11. // ignore-tidy-linelength
  12. pub trait Expression {
  13. type SqlType;
  14. }
  15. pub trait AsExpression<T> {
  16. type Expression: Expression<SqlType = T>;
  17. fn as_expression(self) -> Self::Expression;
  18. }
  19. // @has foo/type.AsExprOf.html
  20. // @has - '//*[@class="rust typedef"]' 'type AsExprOf<Item, Type> = <Item as AsExpression<Type>>::Expression;'
  21. pub type AsExprOf<Item, Type> = <Item as AsExpression<Type>>::Expression;