1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// This file is part of Unique Network.34// Unique Network is free software: you can redistribute it and/or modify5// it under the terms of the GNU General Public License as published by6// the Free Software Foundation, either version 3 of the License, or7// (at your option) any later version.89// Unique Network is distributed in the hope that it will be useful,10// but WITHOUT ANY WARRANTY; without even the implied warranty of11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the12// GNU General Public License for more details.1314// You should have received a copy of the GNU General Public License15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.1617use std::marker::PhantomData;18use evm_coder::{execution::Result, generate_stubgen, solidity_interface, types::*};1920pub struct Generic<T>(PhantomData<T>);2122#[solidity_interface(name = GenericIs)]23impl<T> Generic<T> {24 fn test_1(&self) -> Result<uint256> {25 unreachable!()26 }27}2829#[solidity_interface(name = Generic, is(GenericIs))]30impl<T: Into<u32>> Generic<T> {31 fn test_2(&self) -> Result<uint256> {32 unreachable!()33 }34}3536generate_stubgen!(gen_iface, GenericCall<()>, false);3738#[solidity_interface(name = GenericWhere)]39impl<T> Generic<T>40where41 T: core::fmt::Debug,42{43 fn test_3(&self) -> Result<uint256> {44 unreachable!()45 }46}4748generate_stubgen!(gen_where_iface, GenericWhereCall<()>, false);difftreelog
source
crates/evm-coder/tests/generics.rs1.4 KiBsourcehistory