In IPv4 we use /30 to conserve addresses. So why do some people recommend using /64 on P2P links instead of /126? I get using a /64 on regular subnets but isn't using a /64 when there will only ever be two addresses in use on P2P links tremendous waste of addresses?
Many of us do use /126's on PTP links. I personally like being able to identify something as a network infrastructure PTP link just based on the first 64 bits of the address, so I reserve a /64 to pull the /126's from. Different people have different opinions on what's important, so...shrug
Incidentally (#1), because IPv6 doesn't have the concept of a broadcast address or a network address on an IP network, you could actually use /127's instead of /126's. Beware that some vendor gear has (wrongly) not allowed this netmask as being an "invalid" netmask, despite the fact that it is perfectly valid, so you may run into some vendor support issues if you decide to try to use /127's...and this is why I use /126's.
Incidentally (#2), if your links are truly defined as PTP links, you should be able to use any IP addresses without them having to be in a common IP network at all.
There are two parts to the answer.
First, to answer your question directly: the official recommendation on this topic has changed. In the past, RFC 3627 is titled "Use of /127 Prefix Length Between Routers Considered Harmful" The current recommendation is different, though: RFC 6164 recommends using a /127 (not a /126!) on point-to-point links. Both RFCs outline the reasons for the respective recommendations.
The second part of the answer is that generally, outside point-to-point links, IPv6 will break with any prefix longer than /64. It is actually not IPv6 itself, but many of the protocols it uses, such as SLAAC, Neighbor Discovery, etc. Since a point-to-point link does not involve any form of discovery, that consideration is not relevant, and a /127 will work.
Because IPv6 always recommends using /64 for all links.
For the second part of the question, is it a waste?
A /64 has 18,446,744,073,709,551,615, or 18 quintillion addresses.
Most IPv4 subnets are less than 255 hosts. Assume that you have a network with 255 hosts on it and they're given a /64 prefix. That means that 255 hosts are assigned a v6 address, leaving 18,446,744,073,709,551,360 addresses unused. That's over 99.99%. To be more accurate, that's sixteen 9's, or effectively 100% "waste".
Even if you had a subnet with 1,000,000 hosts on it, that's 18,446,744,073,708,551,616 wasted addresses, or still over 99.99%. Only thirteen 9's this time, but still effectively 100% "waste".
So the percentage difference between using one million addresses or two addresses on a single link is negligible.
And just so you can see what these numbers look like.
Even the entire IPv4 Internet placed on a single /64 link would leave effectively 100% of the addresses unused. When you look at the numbers like this, using anything other than a /64 on a link is just silly.