git.delta.rocks / unique-network / refs/commits / c7fed009d7cf

difftreelog

source

crates/evm-coder/tests/generics.rs1.4 KiBsourcehistory
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);