Make pointer-based Span construction safer
Make pointer-based Span construction safer

This prevents constructing a Span<A> given two pointers into an array
of B (where B is a subclass of A), at least without explicit cast to
pointers to A.

qtumproject/qtum,Xekyo/bitcoin,alecalve/bitcoin,jambolo/bitcoin,mm-s/bitcoin,sipsorcery/bitcoin,bitcoin/bitcoin,pstratem/bitcoin,GroestlCoin/GroestlCoin,cdecker/bitcoin,pstratem/bitcoin,bitcoinsSG/bitcoin,domob1812/namecore,andreaskern/bitcoin,apoelstra/bitcoin,mm-s/bitcoin,midnightmagic/bitcoin,fujicoin/fujicoin,litecoin-project/litecoin,midnightmagic/bitcoin,bitcoin/bitcoin,rnicoll/dogecoin,cdecker/bitcoin,anditto/bitcoin,domob1812/namecore,mruddy/bitcoin,GroestlCoin/bitcoin,jambolo/bitcoin,midnightmagic/bitcoin,prusnak/bitcoin,anditto/bitcoin,MarcoFalke/bitcoin,rnicoll/bitcoin,fujicoin/fujicoin,sstone/bitcoin,Sjors/bitcoin,sstone/bitcoin,jonasschnelli/bitcoin,andreaskern/bitcoin,MarcoFalke/bitcoin,jamesob/bitcoin,midnightmagic/bitcoin,kallewoof/bitcoin,n1bor/bitcoin,bitcoinknots/bitcoin,cdecker/bitcoin,bitcoin/bitcoin,sipsorcery/bitcoin,dscotese/bitcoin,namecoin/namecore,bitcoinknots/bitcoin,rnicoll/bitcoin,ajtowns/bitcoin,achow101/bitcoin,apoelstra/bitcoin,tecnovert/particl-core,tecnovert/particl-core,qtumproject/qtum,dscotese/bitcoin,instagibbs/bitcoin,JeremyRubin/bitcoin,GroestlCoin/GroestlCoin,kallewoof/bitcoin,yenliangl/bitcoin,instagibbs/bitcoin,AkioNak/bitcoin,qtumproject/qtum,cdecker/bitcoin,MeshCollider/bitcoin,ElementsProject/elements,anditto/bitcoin,apoelstra/bitcoin,MarcoFalke/bitcoin,Sjors/bitcoin,sipsorcery/bitcoin,AkioNak/bitcoin,practicalswift/bitcoin,litecoin-project/litecoin,tecnovert/particl-core,GroestlCoin/bitcoin,achow101/bitcoin,alecalve/bitcoin,jnewbery/bitcoin,rnicoll/dogecoin,sipsorcery/bitcoin,jamesob/bitcoin,pstratem/bitcoin,Sjors/bitcoin,sstone/bitcoin,qtumproject/qtum,EthanHeilman/bitcoin,namecoin/namecoin-core,qtumproject/qtum,mm-s/bitcoin,lateminer/bitcoin,namecoin/namecore,achow101/bitcoin,cdecker/bitcoin,alecalve/bitcoin,JeremyRubin/bitcoin,GroestlCoin/GroestlCoin,lateminer/bitcoin,fanquake/bitcoin,qtumproject/qtum,anditto/bitcoin,Xekyo/bitcoin,prusnak/bitcoin,rnicoll/bitcoin,MarcoFalke/bitcoin,yenliangl/bitcoin,yenliangl/bitcoin,jlopp/statoshi,tecnovert/particl-core,lateminer/bitcoin,namecoin/namecoin-core,practicalswift/bitcoin,GroestlCoin/bitcoin,practicalswift/bitcoin,ElementsProject/elements,lateminer/bitcoin,EthanHeilman/bitcoin,lateminer/bitcoin,bitcoin/bitcoin,jonasschnelli/bitcoin,namecoin/namecoin-core,namecoin/namecore,bitcoinknots/bitcoin,kallewoof/bitcoin,achow101/bitcoin,AkioNak/bitcoin,domob1812/bitcoin,JeremyRubin/bitcoin,GroestlCoin/bitcoin,domob1812/namecore,bitcoinknots/bitcoin,dscotese/bitcoin,tecnovert/particl-core,jambolo/bitcoin,namecoin/namecoin-core,midnightmagic/bitcoin,AkioNak/bitcoin,ajtowns/bitcoin,alecalve/bitcoin,AkioNak/bitcoin,litecoin-project/litecoin,jamesob/bitcoin,n1bor/bitcoin,Sjors/bitcoin,dscotese/bitcoin,rnicoll/bitcoin,domob1812/bitcoin,yenliangl/bitcoin,domob1812/namecore,midnightmagic/bitcoin,fujicoin/fujicoin,rnicoll/bitcoin,fanquake/bitcoin,prusnak/bitcoin,MarcoFalke/bitcoin,jlopp/statoshi,GroestlCoin/bitcoin,EthanHeilman/bitcoin,instagibbs/bitcoin,ElementsProject/elements,particl/particl-core,fujicoin/fujicoin,pataquets/namecoin-core,jamesob/bitcoin,ajtowns/bitcoin,GroestlCoin/GroestlCoin,pstratem/bitcoin,rnicoll/dogecoin,bitcoinsSG/bitcoin,particl/particl-core,sstone/bitcoin,ElementsProject/elements,JeremyRubin/bitcoin,mm-s/bitcoin,sstone/bitcoin,pataquets/namecoin-core,rnicoll/dogecoin,pataquets/namecoin-core,MeshCollider/bitcoin,fanquake/bitcoin,GroestlCoin/GroestlCoin,ajtowns/bitcoin,practicalswift/bitcoin,tecnovert/particl-core,Xekyo/bitcoin,dscotese/bitcoin,Xekyo/bitcoin,domob1812/bitcoin,instagibbs/bitcoin,pataquets/namecoin-core,n1bor/bitcoin,jonasschnelli/bitcoin,anditto/bitcoin,pataquets/namecoin-core,n1bor/bitcoin,jnewbery/bitcoin,GroestlCoin/GroestlCoin,rnicoll/bitcoin,bitcoinsSG/bitcoin,bitcoinsSG/bitcoin,bitcoin/bitcoin,sipsorcery/bitcoin,AkioNak/bitcoin,litecoin-project/litecoin,pstratem/bitcoin,EthanHeilman/bitcoin,apoelstra/bitcoin,pstratem/bitcoin,namecoin/namecoin-core,particl/particl-core,ajtowns/bitcoin,fujicoin/fujicoin,alecalve/bitcoin,litecoin-project/litecoin,dscotese/bitcoin,fanquake/bitcoin,MeshCollider/bitcoin,kallewoof/bitcoin,jamesob/bitcoin,andreaskern/bitcoin,kallewoof/bitcoin,fanquake/bitcoin,jonasschnelli/bitcoin,Xekyo/bitcoin,yenliangl/bitcoin,JeremyRubin/bitcoin,namecoin/namecore,apoelstra/bitcoin,jonasschnelli/bitcoin,andreaskern/bitcoin,achow101/bitcoin,andreaskern/bitcoin,domob1812/bitcoin,JeremyRubin/bitcoin,kallewoof/bitcoin,domob1812/namecore,MeshCollider/bitcoin,apoelstra/bitcoin,mruddy/bitcoin,jnewbery/bitcoin,jambolo/bitcoin,jlopp/statoshi,fanquake/bitcoin,instagibbs/bitcoin,EthanHeilman/bitcoin,bitcoinsSG/bitcoin,prusnak/bitcoin,mruddy/bitcoin,n1bor/bitcoin,rnicoll/dogecoin,Sjors/bitcoin,jlopp/statoshi,litecoin-project/litecoin,jambolo/bitcoin,namecoin/namecore,bitcoin/bitcoin,jnewbery/bitcoin,bitcoinknots/bitcoin,Xekyo/bitcoin,lateminer/bitcoin,jlopp/statoshi,alecalve/bitcoin,domob1812/bitcoin,jamesob/bitcoin,particl/particl-core,achow101/bitcoin,prusnak/bitcoin,MarcoFalke/bitcoin,mruddy/bitcoin,mruddy/bitcoin,MeshCollider/bitcoin,jambolo/bitcoin,bitcoinsSG/bitcoin,namecoin/namecore,namecoin/namecoin-core,sipsorcery/bitcoin,ajtowns/bitcoin,n1bor/bitcoin,jnewbery/bitcoin,yenliangl/bitcoin,pataquets/namecoin-core,mm-s/bitcoin,jlopp/statoshi,EthanHeilman/bitcoin,practicalswift/bitcoin,prusnak/bitcoin,particl/particl-core,anditto/bitcoin,practicalswift/bitcoin,fujicoin/fujicoin,domob1812/bitcoin,mm-s/bitcoin,particl/particl-core,domob1812/namecore,mruddy/bitcoin,GroestlCoin/bitcoin,andreaskern/bitcoin,cdecker/bitcoin,MeshCollider/bitcoin,ElementsProject/elements,ElementsProject/elements,sstone/bitcoin,qtumproject/qtum,instagibbs/bitcoin