git.delta.rocks / unique-network / refs/commits / 712c4673aa4f

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::*};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);