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::*};19use primitive_types::U256;2021pub struct Generic<T>(PhantomData<T>);2223#[solidity_interface(name = GenericIs)]24impl<T> Generic<T> {25 fn test_1(&self) -> Result<U256> {26 unreachable!()27 }28}2930#[solidity_interface(name = Generic, is(GenericIs))]31impl<T: Into<u32>> Generic<T> {32 fn test_2(&self) -> Result<U256> {33 unreachable!()34 }35}3637generate_stubgen!(gen_iface, GenericCall<()>, false);3839#[solidity_interface(name = GenericWhere)]40impl<T> Generic<T>41where42 T: core::fmt::Debug,43{44 fn test_3(&self) -> Result<U256> {45 unreachable!()46 }47}4849generate_stubgen!(gen_where_iface, GenericWhereCall<()>, false);difftreelog
source
crates/evm-coder/tests/generics.rs1.4 KiBsourcehistory